Multi-channel signal separation using cross-polyspectra

ABSTRACT

A signal processing system includes a plurality of detectors for detecting signals, each detector receiving signals from plural sources; and a processor for receiving the detected signals and producing a reconstruction filter for filtering the detected signals to produce reconstructed source signals in which each source signal is reconstructed without interference from the other source signals. The reconstruction filter is produced such that cross-polyspectra of the reconstructed signals are forced to approach zero.

BACKGROUND OF THE INVENTION

The problem of separating two or more signals that are superimposed on each other arise in many signal processing applications. A classical example is the problem of enhancing a desired speech signal in the presence of interference, or separating competing speakers using multiple microphone measurements. Another example is the problem of detecting a signal in the presence of directional interference, or detecting and localizing several spatially separated sources, by simultaneous observation of their signals using a spatially distributed array of receivers. Since the source signals as well as the transmission channel that couples the signals to the receivers are generally unknown, the problem of decoupling and identifying the two can not be solved unless we make some simplifying assumptions. In many cases of interest the channel can be modeled as a stable linear time invariant (LTI) system, and since the signals are generated by different sources we may also assume that they are statistically independent. The question is then whether these assumptions are sufficient for separating and recovering the source signals.

A recent series of papers (1)--C. Jutten, and J. Herault, "Blind separation of sources, part I: An adaptive algorithm based on neuromimetic architecture," Signal Processing, vol 24, No. 1, pp 1-10, July 1991, (2)--P. Comon, C. Jutten, and J. Herault, "Blind separation of sources, part II: Problems statement," Signal Processing, vol 24, No. 1, pp 11-20, July 1991, and (3)--E. Sorouchyari, C. Jutten, and J. Herault, "Blind separation of sources, part III: Stability analysis," Signal Processing, vol 24, No. 1, pp 21-29, July 1991, consider the problem of source separation for the special case in which the observed signals at each point in time are given by unknown but fixed linear combinations of the source signals (i.e. the unknown channel is a constant gain matrix). These papers contains several important observations.

First, it is pointed out that for the purpose of source separation it may be sufficient to assume that the signals are statistically independent. No additional information concerning the stochastic nature of each of the sources signals is required. To separate the sources it is then suggested to try and make the recovered signals statistically independent. However, tests for statistical independence are generally complicated, and require prior assumptions concerning the underlying probability distribution of each of the signals. Therefore, to solve the problem it is suggested to use an objective function consisting of high order statistics of the reconstructed signals, and then apply an algorithm to minimize that objective. If the algorithm converges, then at the point of convergence it attempts to minimize the correlation between some pre-specified non-linear functions of the reconstructed signals computed at the same sampling instance. Lack of correlation between non-linear functions of samples of the reconstructed processes is a weaker condition than statistical independence between samples of the processes, which is a weaker condition than statistical independence between the entire processes. However, because of the simplified channel model, it is a sufficient condition for signal separation. In fact it can be shown that decorrelating the reconstructed signals at the same sampling time is also sufficient in this case (not as stated in paper (1) above).

Patent application Ser. No. 07/750,917, filed Aug. 28, 1991 by E. Weinstein (one of the joint inventors in the present application), M. Feder and A. V. Oppenheim, for "Multi-Channel Signal Separation", assigned to Massachusetts Institute of Technology, (unpublished), considers the more general problem in which the channel is modeled as multi-input-multi-output (MIMO) LTI system. In the above patent application, it is suggested to separate and recover the input (source) signals by imposing the condition that the reconstructed signals be statistically uncorrelated. As it turns out, the decorrelation condition is insufficient to uniquely solve the problem, unless we make certain assumptions concerning the unknown channel, e.g. that it is a MIMO finite impulse response (FIR) filter.

For simplicity we shall concentrate specifically in the two channel case, in which we observe the outputs of an unknown 2×2 system, from which we want to recover its input signals. However we note that all the analysis and results can easily be extended to the more general case. In the two channel case it is desired to estimate the two source signals s₁ [n] and s₂ [n], from the observation of the two output signals y₁ [n] and y₂ [n]. In some applications one of the signals, s₁ [n] is the desired signal, while the other signal, s₂ [n], is the interference or noise signal. Both the desired and the noise signals are coupled through an unknown system to form the observed signals.

Mathematical Preliminaries A. Linear Systems

A stable single-input single-output (SISO) linear time invariant (LTI) system is characterized by its unit sample response h[n], or by its transfer function (also called frequency response) H(w), defined as the Fourier transform of h[n]: ##EQU1## where Σ_(n) denotes summation over all possible values of n. The output y[n] of an LTI system is related to its input s[n] by: ##EQU2## where "o" denotes the convolution operation.

A stable multi-input multi-output (MIMO) LTI system is also characterized by its unit sample response, or by its transfer function (also called frequency response). For example, a two-input two-output stable LTI system is characterized by its 2×2 unit sample response matrix: ##EQU3## where h_(ij) [n] i,j=1,2 are the unit sample response of SISO LTI systems. The transfer function of a 2×2 system is: ##EQU4## where H_(ij) (w) i,j=1,2 are the Fourier transforms of h_(ij) [n] i,j=1,2, respectively.

The outputs y₁ [n] and y₂ [n] of a 2×2 LTI system are related to its inputs s₁ [n] and s₂ [n] by:

    y.sub.1 [n]=h.sub.11 [n]os.sub.1 [n]+h.sub.12 [n]os.sub.2 [n]

    y.sub.2 [n]=h.sub.21 [n]os.sub.1 [n]+h.sub.22 [n]os.sub.2 [n]

We remark that the time index n and hence the frequency index w, may be vectors. All results presented here holds also for vector valued time and frequency indecies, n and w. As an example, consider the case where s₁ [n] and s₂ [n] are images, then the index n represents the location vector (n_(x), n_(y)), and the index w represents the spatial frequency vector (w_(x), w_(y)). For simplicity of notations we shall always refer to scalar valued indecies.

B. Cumulants and Polyspectra

Let x₁, x₂, . . . , x_(k) be a set of real valued random variables possessing the joint characteristic function: ##EQU5## where j=√-1, and E{.} stands for the expectation operation. The joint cumulant of x₁, . . . , x_(k), is defined by: ##EQU6## where ln(.) stands for the natural logarithm. We note that if x₁, x₂, . . . are zero mean then

    cum(x.sub.1)=E{x.sub.1 }=0

    cum(x.sub.1, x.sub.2)=E{x.sub.1 x.sub.2 }

    cum(x.sub.1, x.sub.2, x.sub.3)=E{x.sub.1 x.sub.2 x.sub.3 }

    cum(x.sub.1, x.sub.2, x.sub.3, x.sub.4)=E{x.sub.1 x.sub.2 x.sub.3 x.sub.4 }-E{x.sub.1 x.sub.2 }E{x.sub.3 x.sub.4 }-E{x.sub.1 x.sub.3 }E{x.sub.2 x.sub.4 }E{x.sub.2 x.sub.4 }-E{x.sub.1 x.sub.4 }E{x.sub.2 x.sub.3 }

The following properties can easily be verified:

(p.1) Linearity: cum ( . . . , Σ_(i) b_(i) x_(i), . . . )=Σ_(i) b_(i) cum( . . . , x_(i), . . . )

(p.2) If x₁, . . . , x_(k) can be divided into two or more statistically independent subsets, then

    cum(x.sub.1, . . . , x.sub.k)=0

(p.3) If x₁, . . . , x_(k) are jointly Gaussian then

    cum(x.sub.1, . . . , x.sub.k)=0

whenever k>2.

Let x_(o) [n],x₁ [n], . . . ,x_(k) [n] be jointly stationary discrete-time random processes. Then, their joint k-order spectrum (polyspectrum), is defined by: ##EQU7##

We note that P_(x).sbsb.0_(x).sbsb.0 (w) is the power spectrum of x₀ [n], P_(x).sbsb.o_(x).sbsb.1 (w) is the cross-spectrum between x₀ [n] and x₁ [n], P_(x).sbsb.0_(x).sbsb.0_(x).sbsb.0 (w₁,w₂) is the second-order polyspectrum, or bispectrum, of x₀ [n], P_(x).sbsb.0_(x).sbsb.1_(x).sbsb.2 (w₁,w₂) is the cross-bispectrum between the indicated processes, P_(x).sbsb.o_(x).sbsb.0_(x).sbsb.0_(x).sbsb.0 (w₁, w₂, w₃) is the third-order polyspectrum, or trispectrum, of x₀ [n], etc.

(p.4) If x₀ [n],x₁ [n], . . . , x_(k) [n] can be divided into two or more statistically independent subsets of processes, then by (p.2)

    P.sub.x.sbsb.0.sub.,x.sbsb.1.sub., . . . , x.sbsb.k (w.sub.1, w.sub.2, . . . , w.sub.k)=0

(p.5) If x₀ [n],x₁ [n], . . . , x_(k) [n] are jointly Gaussian then by (p.3)

    P.sub.x.sbsb.0.sub.,x.sbsb.1.sub., . . . , x.sbsb.k (w.sub.1, w.sub.2, . . . , w.sub.k)=0

whenever k≧2.

(p.6) Transition of polyspectra through multi-input-multi-output LTI system: Let ##EQU8## where h_(ij) [n] is the unit sample response of a stable SISO LTI system whose frequency response is H_(ij) (w). Then, ##EQU9##

SUMMARY OF THE INVENTION

The invention proposes an approach to estimate a plurality of input source signals, which passed through an unknown system. It suggests, in fact, a solution of the problem of signal separation from their coupled observations. In the two channel case, the invention suggests an approach to estimate the desired signal (i.e., to cancel the interfering signal) or to estimate both source signals.

In the above-cited Pat. No. 5,208,786, it is suggested to separate and recover the input (source) signals by imposing the condition that the reconstructed signals be statistically uncorrelated. As it turns out, this condition is insufficient to uniquely solve the problem, unless we make certain assumptions concerning the unknown channel, e.g. that it is a 2×2 FIR filter. In order to solve the problem without any restrictive assumptions concerning the unknown channel, it is further suggested in that patent application to use high order statistics (e.g. polyspectra). In this invention we develop this approach, and find sufficient conditions involving cross-bispectrum, or cross-trispectrum, or any higher-order non-zero cross-polyspectra of the reconstructed signals. By imposing these conditions, we obtain a class of criteria for signal separation.

According to the present invention, there is provided a signal processing system for separating signals received from plural sources via an unknown channel, comprising: a plurality of detectors each for detecting said signals received from said plural sources; and a processor for receiving the detected signals and producing a reconstruction filter for filtering the detected signals to produce reconstructed source signals in which each source signal is reconstructed without interference from the other source signals; characterized in producing the reconstruction filter such that higher order cross-polyspectra of the reconstructed signals are forced to approach zero.

More particularly, the invention comprises a signal processing system including a plurality of detectors for receiving plural observed signals, which results from plural source signals subjected to said system. A processor receives the observed signals, and produces a reconstruction filter such that some cross-polyspectra of the reconstructed signals are zero, or near zero. The main idea of this invention is to impose conditions on the reconstructed signals using their cross-polyspectra. These conditions cause the reconstructed signals to be statistically independent. If the reconstructed signals are statistically independent it implies that the source signals, which became statistically dependent in the observation due to coupling, are separated at reconstruction. The proposed method is universal in the sense that no assumptions are made about the source signals, except that they are statistically independent.

If one transfer function (or unit sample response) of the reconstruction filter is known, then the other transfer function (or unit sample response) can be estimated.

In another related embodiment, the processor that produces the reconstruction filter is adaptive. The processor updates the components of the reconstruction filter as more data is available, and based on the previous estimate of the input source signal. This embodiment represents a class of possible algorithms of various methods for sequential updating of the reconstruction filter.

One application of the invention would be in a signal enhancing scenario in a room. The first microphone is located near the speaker and the other microphone is located near the noise source. The first microphone detects the desired speech signal with some noise, and the second microphone detects the noise with some speech signal. The coupling is due to the unknown acoustic room environment. The processor of the invention is used to reconstruct the desired speech signal without the interfering noise. When the second signal source is another speaker, the processor of the invention separates both speech signals from the detected microphone signals that contain their coupled measurements. In the context of speech signals, the invention processor can be used as a front-end in automatic speech recognition systems operating in noisy environments, or when there is a cross-talk from an interfering speaker.

Although in the above examples we mainly discussed speech enhancement problems, the system for multi-channel signal separation can be applied to many different areas. For example, separating several mixed images, cancellation of noise signals in telemetry system. Also, superimposed/interfering signals in an antenna system can be separated/canceled using the proposed methods.

The above and other features of the invention including various novel details of construction and combinations of parts will now be more particularly described with reference to the accompanying drawings and pointed out in the claims. It will be understood that the particular choice embodying the invention is shown by way of illustration only and not as limitation of this invention. The principles and features of this invention may be employed in various and numerous embodiments without departing from the scope of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of a general signal processing system embodying the present invention.

FIG. 2 illustrates a general two channel LTI system where H_(ij) (w) i,j=1,2 represent the transfer function of four SISO systems.

FIG. 3 illustrates the LTI two channel signal separation problem.

FIG. 4 illustrates the equivalent forms of the unknown system.

FIG. 5 illustrates one possible structure of the reconstruction system.

FIG. 6 illustrates the LTI two channel signal separation problem in the presence of additive noise.

FIGS. 7a and 7b together illustrate an embodiment of the signal processing system that implements an iterative process for estimating the coupling systems.

FIG. 8 illustrates a speech enhancing and noise cancellation system using the signal processing circuit of the invention.

FIG. 9 illustrates a signal enhancing system in an underwater acoustic environment.

FIG. 10 illustrates a tapped delay line (an FIR filter).

DETAILED DESCRIPTION OF THE INVENTION

In the two channel case, the basic problem of interest is illustrated in FIG. 3. We observe the outputs y₁ [n] and y₂ [n] of an unknown 2×2 stable LTI system H whose inputs are s₁ [n] and s₂ [n], and whose frequency response is: ##EQU10## where H_(ij) (w) is the frequency response of the system from input s_(j) [n] to output y_(i) [n].

We wish to recover the input signals by using a 2×2 reconstructing filter G, adjusted by the processor, whose outputs are denoted by v₁ [n] and v₂ [n], and whose frequency response is: ##EQU11##

Thus, if we denote by T(w)=g(w)H(w) the frequency response of the combined system, then we want to adjust the components of g(w) so that T(w) is of the form: ##EQU12##

If we further require that T₁₁ (w)=T₂₂ (w)=1 ∀w in (3), or that T₁₂ (w)=T₂₁ (w)=1 ∀w in (4), then in the first case we have v₁ [n]=s₁ [n] and v₂ [n]=s₂ [n], in the second case v₁ [n]=s₂ [n] and v₂ [n]=s₁ [n], and the input signals are exactly recovered. However, since our main goal is the separation of the input signals, it may be sufficient to eliminate the cross-coupling effects and to recover s₁ [n] and s₂ [n] up to shaping filters. If we want to solve the remaining single-channel deconvolution problems (i.e., to force T₁₁ (w)=T₂₂ (w)=1 ∀w in (3), or T₁₂ (w)=T₂₁ (w)=I ∀w in (4)), we need to have some prior knowledge concerning the nature of s₁ [n] and s₂ [n], e.g. that they are sequences of independent identical distributed (i.i.d.) random variables with known average power.

By straightforward matrix multiplication we find that T(w)=g(w)H(w) is of the form of (3) if

    G.sub.11 (w)H.sub.12 (w)-G.sub.12 (w)H.sub.22 (w)=0        (5)

    -G.sub.21 (w)H.sub.11 (w)+G.sub.22 (w)H.sub.21 (w)=0       (6)

and it is of the form of (4) if

    G.sub.11 (w)H.sub.11 (w)-G.sub.12 (w)H.sub.21 (w)=0        (7)

    -G.sub.21 (w)H.sub.12 (w)+G.sub.22 (w)H.sub.22 (w)=0       (8)

Clearly, there are infinitely many combinations of G_(ij) (w) i,j=1,2 that satisfy the equation pair (5) (6), or the equation pair (7) (8). Therefore, we may arbitrarily set G₁₁ and G₂₂ to be unity transformations, i.e.

    G.sub.11 (w)=G.sub.22 (w)=1 ∀w                  (9)

and only adjust the decoupling filters G₁₂ and G₂₁. In this case, the solution to (5) (6) is given by: ##EQU13## and the solution to (7) (8) is given by: ##EQU14## These solutions should be expected since if s₁ [n] and s₂ [n] are statistically independent, then s₁ [n] through H₁₁ and s₂ [n] through H₂₂, or s₁ [n] through H₂₁ and s₂ [n] through H₁₂, are also statistically independent. Therefore, based on the statistical independence condition, we can only identify the H₁₂ /H₂₂ and H₂₁ /H₁₁, or the pair H₁₁ /H₂₁ and H₂₂ /H₁₂, as illustrated in FIG. 4. Of course if H_(ij) i,j=1, 2 were known then by setting the decoupling systems G₁₂ and G₂₁ to satisfy (10) or (11), we obtain the desired signal separation. However, since H_(ij) are unknown, we need to find a method or criterion that blindly yields one of the desired solutions.

We note that we may use a reconstruction system of the form: ##EQU15## A possible realization of this scheme is shown in FIG. 5. If we have found the solution in (10), then T₁₁ (w)=₁₁ (w) and T₂₂ (w)=H₂₂ (w), and we have exactly recovered the signals that would have been measured in each sensor in the absence of the other source signal. Similarly, if we have found the solution in (11) then T₁₂ (w)=H₁₂ (w) and T₂₁ (w)=H₂₁ (w), and once again we have recovered the signals that would have been measured separately, only that in this case we switch the terminals. This could be useful in many practical situations. For example, in the problem of separating competing speakers, if each speaker is located near a microphone then H₁₁ and H₂₂ are nearly unity in which case the original speech signals can be recovered with very little distortion.

FIG. 1 illustrates schematically the operation of the signal separator of the invention. Two signals s₁ [n] and s₂ [n] are processed by an environment 10 which is represented by a transfer function H. FIG. 2 shows the transfer function H in more detail. The transfer function H produces output signals y₁ [n] and y₂ [n]. The environment 10 represented by H produces coupling or cross talk in both output signals y₁ [n] and y₂ [n]. The processor 14 and the reconstruction filter 12 operate under the criterion that the reconstructed source signals denoted by v₁ [n] (or s₁ [n]) and v₂ [n] (or s₂ [n]), are forced to possess some zero cross high-order polyspectra.

If the processor 14 adjust the decoupling systems G₁₂ (w) and G₂₁ (w) so that two or more cross-polyspectra of orders k≧2 are zero or nearly zero then the frequency response T(w)=g(w)Hw) of the combined system is of the desired form (3) or (4), and the signals are separated and recovered up to shaping filters.

A. Estimation based on the cross-bispectrum (3rd-order cross-cumulants) and the cross-trispectrum (4th-order cross-cumulants)

We shall now concentrate on criteria and algorithms obtained when using our approach with cross-polyspectra of order k=2, that is the bispectrum and of order k=3 that is the trispectrum.

It can be verified that if the processor 14 adjusts the reconstruction filter 12 so that:

    P.sub.v.sbsb.1.sub.v.sbsb.1.sub.v.sbsb.2 (w.sub.1, w.sub.2)=0 ∀w.sub.1, w.sub.2                              (13)

    P.sub.v.sbsb.2.sub.v.sbsb.2.sub.v.sbsb.1 (w.sub.1, w.sub.2)=0 ∀w.sub.1, w.sub.2                              (14)

then T(w) must be in the form of (3) or (4). In fact, it is sufficient that (13) and (14) holds only for a partial set of frequencies, e.g., -π<w₁ ≦π, w₂ =0.

The cross-polyspectra of the reconstructed signals can be expressed in terms of the components G₁₂ (w) and G₂₁ (w) and the polyspectra of the observed (measured) signals. We obtain (several, at least) two equations that can be solved explicitly in the frequency or the time domains, to find the desired decoupling filters G₁₂ (w) and G₂₁ (w).

We shall now concentrate on time domain algorithms which evolve from (13) (14). For that purpose we let G₁₂ and G₂₁ be casual finite impulse response (FIR) filters (see FIG. 10) of the form: ##EQU16## where q₁ and q₂ are some pre-specified filter orders, in which case the reconstructed signals v₁ [n] and v₂ [n] are given by: ##EQU17##

In this setting the problem is reduced to that of adjusting the filter coefficients a_(k) 's and b_(k) 's to satisfy the selected criterion equations.

Consider first the criterion suggested by (13) (14). Inverse Fourier transforming the equations

    cum(v.sub.1 [n],v.sub.1 [n-τ.sub.1 ],v.sub.2 [n-τ.sub.2 ])=0∀τ.sub.1,τ.sub.2                   (19)

    cum(v.sub.2 [n],v.sub.2 [n-τ.sub.1 ],v.sub.1 [n-τ.sub.2 ])=0∀τ.sub.1,τ.sub.2                   (20)

Substituting (18) into (19), and (17) to (20), we obtain: ##EQU18##

Since the cumulants are unknown, they are approximated by their sample estimates. Assuming for simplicity that s_(i) [n] i=1, 2 are zero mean, ##EQU19##

Since (21) and (22) are satisfied for all combinations of τ₁ and τ₂, we have an overdetermined set of equations to solve for the a_(k) 's and b_(k) 's. Writing (21) (22) in matrix form for some values of τ₁, τ₂ (e.g., |τ₁ |, |τ₂ |≦M, for some positive integer, M), we obtain:

    M.sub.b a=v.sub.b                                          (24)

    M.sub.a b=v.sub.b                                          (25)

where the ith row of the matrix M_(b) is

    M.sub.b i=[cum(v.sub.2 [n],v.sub.2 [n-τ.sub.1i ], y.sub.2 [n-τ.sub.2i ]), . . . , cum(v.sub.2 [n],v.sub.2 [n-τ.sub.1i ],y.sub.2 [n-τ.sub.2i -q.sub.1 ])]τ.sub.1i,τ.sub.wi εB,(26)

the i th element of the vector v_(b) is

    v.sub.b i=cum(v.sub.2 [n],v.sub.2 [n-τ.sub.1i ], y.sub.1 [n-τ.sub.2i ]) τ.sub.1i,τ.sub.2i εB,  (27)

and similarly the ith row of the matrix M_(a) is

    M.sub.a i=[cum(v.sub.1 [n],v.sub.1 [n-τ.sub.1i ], y.sub.1 [n-τ.sub.2i [), . . . , cum(v.sub.1 [n],v.sub.1 [n-τ.sub.1i ],y.sub.1 [n-τ.sub.2i -q.sub.1 ])]τ.sub.1i,τ.sub.wi εB,(28)

and the i th element of the vector v_(a) is

    v.sub.a i=cum(v.sub.1 [n],v.sub.1 [n-τ.sub.1i ], y.sub.2 [n-τ.sub.2i ]) τ.sub.1i,τ.sub.2i εB,  (29)

for some preselected set of integers B. The form of equations (24) (25) suggest an iterative algorithm in which we alternate between solving (24) for the a_(k) 's using the current b_(k) 's, and solving (25) for the b_(k) 's using the current a_(k) 's. Each iteration cycle involves the solution to a standard linear least squares problem.

The flow chart in FIGS. 7a and 7b illustrates the iterative algorithm which estimates a and b iteratively using Equations (24) (25). Then generating v₁ [n] and v₂ [n] using the new a and b according to (17) and (18), respectively. Block 110 illustrates the setting of the initial estimates of a and b and setting the iteration index k to zero. As shown in block 112, v₁ [n]and v₂ [n] are calculated using a.sup.(k) and b.sup.(k) and the detected signals, y₁ [n] and y₂ [n], in accordance with equations (17) (18), respectively. The value v₁ [n] is used to compute the cumulant estimators required for the construction of M_(a) and v_(a) in block 114. In block 116 the new value for b is computed by solving the least squares problem of (25), i.e.,

    b.sup.(k+1) =(M.sub.a.sup.T WM.sub.a).sup.-1 M.sub.a.sup.T Wv.sub.a.(30)

where W is a prespecified weighting matrix. In block 118 the value v₂ [n] is used to compute the cumulant estimators required for the construction of M_(b) and v_(b), and in block 120 the new value for a is computed by solving the least squares problem of (24), i.e.,

    a.sup.(k+1) =(M.sub.b.sup.T WM.sub.b).sup.-1 M.sub.b.sup.T Wv.sub.b.(31)

Block 122 determines whether convergence has occurred. If more iterations need to be calculated, k is set equal to k+1 and calculation are restarted in block 112. If convergence has occurred, the values for a.sup.(k+1) and b.sup.(k+1) are set equal to g₁₂ [n] and g₂₁ [n], respectively. Where g_(ij) [n] are the unit sample response of G_(ij) (w) i,j=1,2 i≠j. The estimators of the input signals are now computed using g₁₂ [n] and g₂₁ [n] in Block 128.

Now we shall derive similar algorithms based on the trispectrum or the 4th-order cross-cumulants. It can be verified that if the processor 14 adjusts the reconstruction filter 12 so that:

    P.sub.v.sbsb.1.sub.v.sbsb.1.sub.v.sbsb.1.sub.v.sbsb.2 (w.sub.1, w.sub.2 w.sub.3)=0 ∀w.sub.1, w.sub.2, w.sub.3          (32)

    P.sub.v.sbsb.2.sub.v.sbsb.2.sub.v.sbsb.2.sub.v.sbsb.1 (w.sub.1, w.sub.2 w.sub.3)=0 ∀w.sub.1, w.sub.2, w.sub.3          (33)

then T(w) must be of the form of (3) or (4). In fact, it is sufficient that (32) and (33) holds only for a partial set of frequencies, e.g., -π<w₁ =w₂ ≦π, w₃ =0.

Inverse Fourier transforming the criterion suggested by (32) (33) and using (17) and (18), we obtain: ##EQU20## Since (34) and (35) are satisfied for all combinations of τ₁, τ₂ and τ₃, we have an overdetermined set of equations to solve for the a_(k) 's and b_(k) 's. Writing (34) (35) in matrix form for some values of τ₁, τ₂, τ₃ (e.g., |τ₁ |, |τ₂ |,|τ₃ |≦M, for some positive integer, M), we obtain:

    M.sub.b a=v.sub.b                                          (36)

    M.sub.a b=v.sub.a                                          (37)

Once again, the form of these equations suggests an iterative procedure in which we substitute the current values of b_(k) 's in (36) to obtain a new set of a_(k) 's and the current values of a_(k) 's in (37) to obtain a new set of b_(k) 's. Each iteration cycle involves the solution to a standard linear least squares problem. Of course, in the actual implementation of the algorithm the cumulants appearing in (34) and (35) are substituted by their sample estimates.

We may combine several pairs of criterion equations in order to improve statistical stability. It is straightforward to devise an algorithm in which we iteratively solve the combined (21) and (34) for the a_(k) 's, and the combined (22) and (35) for the b_(k) 's. We may assign different weights to different equations (i.e., using a weighted least squares solution) to reflect the statistical variability of say third-order empirical cumulants to fourth-order empirical cumulants.

The above algorithms can easily be phrased in terms of any other cross high-order polyspectra (or cumulants). The processor 14 of FIG. 1 is aimed to produce a reconstruction filter 12 so that its outputs possess some high-order cross-polyspectra near zero.

B. Combining the Decorrelation Criterion

We may also consider incorporating the decorrelation criterion proposed in the above-cited patent application Ser. No. 07/750,917, with our proposed criteria. The decorrelation condition requires that the reconstructed signals v₁ [n] and v₂ [n] be statistically uncorrelated, or that their cross-spectrum be identically zero, that is

    P.sub.v.sbsb.1.sub.v.sbsb.2 (w)=P.sub.y.sbsb.1.sub.y.sbsb.2 (w)-G.sub.12 (w)P.sub.y.sbsb.2.sub.y.sbsb.2 (w)-G.sub.21 *(w)P.sub.y.sbsb.1.sub.y.sbsb.1 (w)+G.sub.12 (w)G.sub.21 *(w)P.sub.y.sbsb.2.sub.y.sbsb.1 (w)=0 ∀w       (38)

where (.)* denotes complex conjugation.

Note that this equation does not specify a unique solution for both G₁₂ and G₂₁. For any pre-specified G₂₁ we can find G₁₂ that satisfy the equation, and vise versa.

To combine the decorrelation equation with the other criterion equations, we rewrite (38) in the following two alternative forms: ##EQU21##

Transforming (39) and (40) into the time domain: ##EQU22## It is straightforward to incorporate these equations with any of the proposed criterion equations, e.g. iterating between solving (21) jointly with (41) for the a_(k) 's, and solving (22) jointly with (42) for the b_(k) 's. Once again, we may assign different weights to different criterion equations so as to reflect the statistical variability of second order empirical cumulants (correlations) to higher-order empirical cumulants.

C. Recursive/Sequential Algorithms

In a variety of applications, it is desirable to process the data recursively/sequentially. The advantage of a recursive/sequential algorithm over a batch algorithm is not necessarily in the final result, but in the computational efficiency, reduced storage requirements and in fact that an outcome may be provided without having to wait for all the data to be processed. Moreover, if the underlying system (channel) exhibits time changes, processing all the available data jointly is not desirable, even if we can accommodate the computational and storage lead of the batch algorithm, since different data segments correspond to different channel responses. In that case we want to have an adaptive algorithm that is capable of tracking the varying characteristics of the channel.

Concatenating the equations in (21) for τ₁ =0 and τ₂ =0, 1, 2, . . . , q₁, and the equations in (22) for τ₁ =0 and τ₂ =0, 1, 2, . . . , q₂ (so that the number of equations is equal to the number of unknown parameters), and assuming for simplicity zero mean processes, we obtain:

    E{v.sub.2 [n]v.sub.2 [n]y.sub.2.sup.T [n]}a=E{v.sub.2 [n]v.sub.2 [n]y.sub.1 [n]}                                                      (43)

    E{v.sub.1 [n]v.sub.2 [n]y.sub.1.sup.T [n]}b=E{v.sub.1 [n]v.sub.1 [n]y.sub.2 [n]}                                                      (44)

where

    y.sub.1 [n]=(y.sub.1 [n], . . . , y.sub.1 [n-q.sub.2 ]).sup.T(45)

    y.sub.2 [n]=(y.sub.2 [n], . . . , y.sub.2 [n-q.sub.1 ]).sup.T(46)

    v.sub.1 [n]=(v.sub.1 [n], . . . , v.sub.1 [n-q.sub.2 ]).sup.T(47)

    v.sub.2 [n]=(v.sub.2 [n], . . . , v.sub.2 [n-q.sub.2 ]).sup.T(48)

Replacing expectations with sample averages as suggested by (23), we obtain the following iterative-recursive algorithm:

    a.sup.(l) (n)=a.sup.(l) (n-1)+γ.sub.n Q(n)v.sub.2 [n]v.sub.2 [n]v.sub.1 [n]|.sub.a=a.spsb.(l).sub.(n-1),b=b.spsb.(l-1)(49)

where ##EQU23## where γ_(n) =1/n, and a.sup.(l) (n) and b.sup.(l) (n) are the values of a and b at the lth iteration of the algorithm, based on sample averages to time n. The input to the lth iteration cycle are the values a.sup.(l-1) and b.sup.(l-1) from the previous iteration cycle. Then, using (49)-(52), the next iteration cycle is performed recursively in n.

If instead of iterating we use the most current values of a and b along the recursion, we obtain the following sequential algorithm:

    a(n)=a(n-1)+γ.sub.n Q(n)v.sub.2 [n]v.sub.2 [n]v.sub.1 [n]|.sub.a=a(n-1),b=b(n-1)                       (53)

    b(n)=b(n-1)+γ.sub.n R(n)v.sub.1 [n]v.sub.1 [n]v.sub.2 [n]|.sub.a=a(n-1),b=b(n-1)                       (54)

where a(n) and b(n) are the values of a and b at time n, and where Q(n) and R(n) are computed recursively using (50) and (52), respectively.

An alternative approach for generating a sequential algorithm, is based on first-order stochastic approximation methods. The resulting algorithm is:

    a(n)=a(n-1)+γ.sub.n v.sub.2 [n]v.sub.2 [n]v.sub.1 [n]|.sub.a=a(n-1),b=b(n-1)                       (55)

    b(n)=b(n-1)+γ.sub.n v.sub.1 [n]v.sub.1 [n]v.sub.2 [n]|.sub.a=a(n-1),b=b(n-1)                       (56)

If we choose γ_(n) =γ (a constant), it corresponds to exponential weighting that reduces the effect of past data relative to new data, and we effectively obtain an adaptive algorithm that is capable of tracking the varying characteristics of the channel.

The algorithm in (53) (54) can be viewed as the equivalent of the Recursive Least Squares (RLS) algorithm for the problem in hand, while the algorithm in (55) (56) can be viewed as the equivalent of the Least Mean Squares (LMS) algorithm. We note that similar iterative-recursive and sequential algorithms can be developed for solving the other criterion equations. The possibility of combining several recursive/sequential algorithms corresponding to different criteria equations also exists here.

D. Effect of Additive Noise

Consider the system illustrated in FIG. 6 in which the observed signals y₁ [n] and y₂ [n] are contaminated by the additive noises w₁ [n] and w₂ [n], respectively. Then the outputs of the reconstruction filter can be represented as sum of contributions due to the signal and the noise, i.e.

    v.sub.i [n]=v.sub.i.sup.(s) [n]+v.sub.i.sup.(w) [n]i=1,2   (57)

Assuming that s_(i) [n] i=1, 2 and w_(i) [n] i=1, 2 are statistically independent,

    P.sub.v.sbsb.1.sub.v.sbsb.1.sub.v.sbsb.2 (w.sub.1,w.sub.2)=P.sub.v.sbsb.1.sbsp.(s).sub.v.sbsb.1.sbsp.(s).sub.v.sbsb.2.spsb.(s) (w.sub.1,w.sub.2)+P.sub.v.sbsb.1.spsb.(w).sub.v.sbsb.1.spsb.(w).sub.v.sbsb.2.spsb.(w) (w.sub.1, w.sub.2)                             (58)

where by (p.6) ##EQU24##

If w₁ [n] and w₂ [n] are statistically independent then all terms of the triple sum in (59) are zero except for i=j=k. However, we note that w₁ [n] and w₂ [n] may be statistically dependent, e.g. they result from a directional interference. If the auto and cross bispectra of the additive noises are known a-priori, or can be measured independently, then P_(v).sbsb.1.spsb.(w)_(v).sbsb.1.spsb.(w)_(v).sbsb.2.spsb.(w) (w₁,w₂) can be calculated separately and then subtracted from (58). Similar subtraction operation can be performed with respect to all other criterion equations.

In the special case where w₁ [n] and w₂ [n] are jointly Gaussian then by (p.5) all their polyspectra of order k≧2 are zero, in particular

    P.sub.w.sbsb.i.sub.w.sbsb.j.sub.w.sbsb.k (w.sub.1,w.sub.2)=0 ∀w.sub.1,w.sub.2                               (60)

for all combinations of i,j,k ε{1,2}. Therefore, all the proposed criteria are unaffected (blind) to additive Gaussian noise. An exception is the decorrelation criterion of the above-cited patent application Ser. No. 07/750,917 which may be sensitive to correlated Gaussian noises.

In the actual implementation of the algorithms the polyspectra, or the respective cumulants, are substituted by their sample estimates. Therefore, the effect of additive noise is non-zero even in the Gaussian case, and the empirical cross-polyspectra between v_(i).sup.(s) [n] and v_(i).sup.(w) [n] i=1,2 are also non-zero.

The algorithms previously derived are examples and are not limiting, but merely representative of our general approach in which the signal processing device of the invention can be used.

FIG. 8 illustrates the use of the invention in a speech enhancing and noise cancellation system. The separation of voice signals from interfering noise signals in a room can be easily accomplished using the signal processing device of the invention. For example, FIG. 8 illustrates an individual 61 in room 57. Also in the room is a noise source 60, such as a TV or a radio. Microphone 54 is located near the noise source 60. Microphone 56 is near the desired signal source from the individual 61. Due to the room acoustics, both signals are picked up by both microphones. The processing and reconstruction device 58 operates on the detected signals in accordance with the principles described above. Thus, the desired signal from source 61 can be derived. The desired signal reconstructed from 58 can then be processed by speech recognition device 63.

The signal separator of the invention can also be used in a moving vehicle, such as a car. A microphone can be located near the muffler and another microphone near the speaker. The speaker's microphone could be a car phone. The noise caused by the muffler can be eliminated by using the signal separator of the invention. Moreover, since some of the generating transfer functions are known or can be calculated from the car acoustical environment, calculations can be simplified in the reconstruction filter.

FIG. 9 illustrates a signal enhancing system in accordance with the invention in an underwater acoustic environment. A sonar array 64 is used to determine the position of target 66. Noise generated by propeller 70 interferes with this determination. Accordingly, microphone 62 generates an output signal which is processed with the signal from array 64 by signal separation device 68 and an accurate target signal can be calculated.

Those skilled in the art will recognize, or be able to ascertain, using no more than routine experimentation, many equivalents to the specific embodiments of the invention described herein. These and all other equivalents are intended to be encompassed by the following claims. 

We claim:
 1. A signal processing system for separating signals received from plural sources via an unknown channel, comprising: a plurality of detectors each for detecting said signals received from said plural sources; and a processor for receiving the detected signals and producing a reconstruction filter for filtering the detected signals to produce reconstructed source signals in which each source signal is reconstructed without interference from the other source signals; characterized in producing the reconstruction filter such that higher-order cross-polyspectra of the reconstructed signals are forced to approach zero.
 2. A signal processing system according to claim 1, wherein the number of detectors and sources is two, and the reconstruction filter is adjusted so that the following polyspectra of the reconstructed source signals v₁ [n] and v₂ [n] at the output of the reconstruction filter are forced to approach zero:

    P.sub.v.sbsb.1.sub.v.sbsb.1.sub.v.sbsb.2 (w.sub.1,w.sub.2)=0 (w.sub.1,w.sub.2)εΩ.sub.2

    P.sub.v.sbsb.2.sub.v.sbsb.2.sub.v.sbsb.1 (w.sub.1,w.sub.2)=0 (w.sub.1,w.sub.2)εΩ.sub.2

where Ω₂ is a preselected frequency region.
 3. A signal processing system according to claim 1, wherein the number of detectors and sources is two, and the reconstruction filter is adjusted so that the following polyspectra of the reconstructed source signals v₁ [n] and v₂ [n] at the output of the reconstruction filter are forced to approach zero:

    P.sub.v.sbsb.1.sub.v.sbsb.1.sub.v.sbsb.1.sub.v.sbsb.2 (w.sub.1,w.sub.2,w.sub.3)=0 (w.sub.1,w.sub.2,w.sub.3)εΩ.sub.3

    P.sub.v.sbsb.2.sub.v.sbsb.2.sub.v.sbsb.2.sub.v.sbsb.1 (w.sub.1,w.sub.2,w.sub.3)=0 (w.sub.1,w.sub.2,w.sub.3)εΩ.sub.3

where Ω₃ is a preselected frequency region.
 4. A signal processing system according to claim 2, wherein the reconstruction filter is adjusted so that the following polyspectra of the reconstructed source signals v₁ [n] and v₂ [n] at its output are forced to approach zero:

    P.sub.v.sbsb.1.sub.v.sbsb.1.sub.v.sbsb.1.sub.v.sbsb.2 (w.sub.1,w.sub.2,w.sub.3)=0 (w.sub.1,w.sub.2,w.sub.3)εΩ.sub.3

    P.sub.v.sbsb.2.sub.v.sbsb.2.sub.v.sbsb.2.sub.v.sbsb.1 (w.sub.1,w.sub.2,w.sub.3)=0 (w.sub.1,w.sub.2,w.sub.3)εΩ.sub.3

where Ω₃ is a preselected frequency region.
 5. A signal processing system according to claim 2, wherein the reconstruction filter is adjusted so that the following cross-spectrum of the reconstructed source signals v₁ [n] and v₂ [n] at the reconstruction filter output is also forced to approach zero:

    P.sub.v.sbsb.1.sub.v.sbsb.2 (w)=0 wεΩ

where Ω is a preselected frequency region.
 6. A signal processing system according to claim 3, wherein the reconstruction filter is adjusted so that the following cross-spectrum of the reconstructed source signals v₁ [n] and v₂ [n] at the reconstruction filter output is also forced to approach zero:

    P.sub.v.sbsb.1.sub.v.sbsb.2 (w)=0 wεΩ

where Ω is a preselected frequency region.
 7. A signal processing system according to claim 4, wherein the reconstruction filter is adjusted so that the following cross-spectrum of the reconstructed source signals v₁ [n] and v₂ [n] at the reconstruction filter output is also forced to approach zero:

    P.sub.v.sbsb.1.sub.v.sbsb.2 (w)=0 wεΩ

where Ω is a preselected frequency region.
 8. A signal processing system according to claim 2, wherein the reconstruction filter is adjusted so that the following cumulants of the signals v₁ [n] and v₂ [n] at its output is forced to approach zero:

    cum(v.sub.1 [n],v.sub.1 [n-τ.sub.1 ],v.sub.2 [n-τ.sub.2 ])=0 (τ.sub.1,τ.sub.2)εB.sub.2

    cum(v.sub.2 [n],v.sub.2 [n-τ.sub.1 ],v.sub.2 [n-τ.sub.2 ])=0 (τ.sub.1,τ.sub.2)εB.sub.2

where B₂ is a preselected set of integers.
 9. A signal processing system according to claim 3, wherein the reconstruction filter is adjusted so that the following cumulants of the signals v₁ [n] and v₂ [n] at its output is forced to approach zero:

    cum(v.sub.1 [n],v.sub.1 [n-τ.sub.1 ],v.sub.1 [n-τ.sub.2 ],v.sub.2 [n-τ.sub.3 ])=0 (τ.sub.1,τ.sub.2,τ.sub.3)εB.sub.3

    cum(v.sub.2 [n],v.sub.2 [n-γ.sub.1 ],v.sub.1 [n-γ.sub.2 ],v.sub.2 [n-γ.sub.3 ])=0 (γ.sub.1,γ.sub.2,γ.sub.3)εB.sub.3

where B₃ is a preselected set of integers.
 10. A signal processing system according to claim 8, wherein the reconstruction filter is adjusted so that the following cumulants of the signals v₁ [n] and v₂ [n] at its output is forced to approach zero:

    cum(v.sub.1 [n],v.sub.1 [n-τ.sub.1 ],v.sub.1 [n-τ.sub.2 ],v.sub.2 [n-τ.sub.3 ])=0 (τ.sub.1,τ.sub.2,τ.sub.3)εB.sub.3

    cum(v.sub.1 [n],v.sub.1 [n-τ.sub.1 ],v.sub.1 [n-τ.sub.2 ],v.sub.2 [n-τ.sub.3 ])=0 (τ.sub.1,τ.sub.2,τ.sub.3)εB.sub.3

where B₃ is a preselected set of integers.
 11. A signal processing system according to claim 8, wherein the reconstruction filter is adjusted so that the following cumulants of the signals v₁ [n] and v₂ [n] at the reconstruction filter output is also forced to approach zero:

    cum(v.sub.1 [n],v.sub.2 [n+τ[)=0 τεB

where B is a preselected set of integers.
 12. A signal processing system according to claim 9, wherein the reconstruction filter is adjusted so that the following cumulants of the signals v₁ [n] and v₂ [n] at the reconstruction filter output is also forced to approach zero:

    cum(v.sub.1 [n],v.sub.2 [n+τ[)=0 τεB

where B is a preselected set of integers.
 13. A signal processing system according to claim 10, wherein the reconstruction filter is adjusted so that the following cumulants of the signals v₁ [n] and v₂ [n] at the reconstruction filter output is also forced to approach zero:

    cum(v.sub.1 [n],v.sub.2 [n+τ[)=0 τεB

where B is a preselected set of integers. 